/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.fatecpg.zanotti.acessobanco;

import br.com.fatecpg.zanotti.modelo.Fornecedor;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.SQLException;

/**
 * Classe responsável por realizar toda a Manipulação de Dados referente a tabela Fornecedor do Banco de Dados.
 * @author F.L. Zanotti
 */
public class dmlFornecedor {
/**
 * Método responsável pela rotina de INSERT no banco de dados
 * @param Fornecedor Objeto Fornecedor
 * @return boolean
 */
    public static boolean cadastrar(Fornecedor Fornecedor) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "INSERT INTO FORNECEDOR(cdfornecedor, cdcnpjfornecedor, nmfornecedor, " +
                    "nmendereco, nmemail, cdtelefone)VALUES" +
                    " (seq_cdfornecedor.NEXTVAL, ?, ?, ?, ?,?)";

            PreparedStatement pst = con.prepareStatement(query);


            pst.setString(1, Fornecedor.getCDCNPJFORNECEDOR());
            pst.setString(2, Fornecedor.getNMFORNECEDOR());
            pst.setString(3, Fornecedor.getNMENDERECO());
            pst.setString(4, Fornecedor.getNMEMAIL());
            pst.setString(5, Fornecedor.getCDTELEFONE());

            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "Cadastro realizado com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }

    }
/**
 * Método responsável pela rotina de UPDATE no banco de dados
 * @param Fornecedor Objeto Fornecedor
 * @return boolean
 */
    public static boolean atualizar(Fornecedor Fornecedor) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "UPDATE FORNECEDOR SET " +
                    "cdcnpjfornecedor = ?, " +
                    "nmfornecedor = ?, " +
                    "nmendereco = ?, " +
                    "nmemail = ?, " +
                    "cdtelefone = ? " +
                    "WHERE CDFORNECEDOR = ?";

            PreparedStatement pst = con.prepareStatement(query);

            pst.setString(6, Fornecedor.getCDFORNECEDOR());
            pst.setString(1, Fornecedor.getCDCNPJFORNECEDOR());
            pst.setString(2, Fornecedor.getNMFORNECEDOR());
            pst.setString(3, Fornecedor.getNMENDERECO());
            pst.setString(4, Fornecedor.getNMEMAIL());
            pst.setString(5, Fornecedor.getCDTELEFONE());

  

            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "Atualização realizada com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }
    }
/**
 * Método responsável pela rotina de DELETE no banco de dados
 * @param cd Código Fornecedor
 * @return boolean
 */
        public static boolean deletar(String cd) {
        try {
            Connection con = AbreConexao.getConexao();

            String query = "DELETE FROM FORNECEDOR " +
                    "WHERE CDFORNECEDOR = ?";

            PreparedStatement pst = con.prepareStatement(query);

            pst.setString(1, cd);

            pst.execute();
            con.commit();
            con.close();
            pst.close();
            javax.swing.JOptionPane.showMessageDialog(null, "O cadastro foi apagado com sucesso");
            return true;
        } catch (SQLException e) {
            javax.swing.JOptionPane.showMessageDialog(null, e);
            return false;
        }
        }
}
